using System;
using System.Collections.Generic;
using System.Text;

namespace GPSNav.NET
{
	public interface IGpsDataAccess : IDisposable
	{
		GeoRectangle GetBounds();
		GpsNode GetNode(Int64 nodeId);
		GpsNodesCollection GetNeighbors(Int64 nodeId);
		GpsNodesCollection GetNodes(GeoRectangle rect);
		GpsNodesCollection GetNodes(GeoRectangle rect, int lod);
		GpsNode GetClosestNode(GeoPoint location);

		GpsWay GetWay(Int64 wayId);
		GpsWaysCollection GetWays(GeoRectangle rect, int lod);
		GpsWaysCollection GetWays(GeoRectangle rect, int lod, string lodOperator);
		GpsWaysCollection GetWays(GeoRectangle rect);

	}
	public enum IAccessType
	{
		FileSystem,
		SQLite,
		PgSql

	}
}
